#ifndef SETZIGBEEPARAMCMD_H
#define SETZIGBEEPARAMCMD_H

#include "Command/BaseCmd.h"
#include "Protocol/ZigbeeConfigProtocol.h"

class SetZigbeeParamCmd : public BaseCmd
{
    Q_OBJECT
public:
    Q_INVOKABLE explicit SetZigbeeParamCmd(QObject *parent = 0);

    enum{FunctionCode = ZigbeeConfigProtocol::SetZigbeeParam};

    Package toPackage();
    void unPackage(Package package);

    bool isSucceed() const;
    void setIsSucceed(bool isSucceed);

    quint8 type() const;
    void setType(const quint8 &type);

    quint8 channel() const;
    void setChannel(const quint8 &channel);

    quint8 power() const;
    void setPower(const quint8 &power);

    QByteArray address() const;
    void setAddress(const QByteArray &address);

    QByteArray panId() const;
    void setPanId(const QByteArray &panId);

    QByteArray extPanId() const;
    void setExtPanId(const QByteArray &extPanId);

    QByteArray nwkKey() const;
    void setNwkKey(const QByteArray &nwkKey);

private:
    bool m_isSucceed;
    quint8 m_type;
    quint8 m_channel;
    quint8 m_power;
    QByteArray m_address;
    QByteArray m_panId;
    QByteArray m_extPanId;
    QByteArray m_nwkKey;

};

#endif // SETZIGBEEPARAMCMD_H
